1. Technical Field
The present invention relates in general to improved communications and in particular to improved notification of an availability of a user to communicate via a particular communication medium. Still more particularly, the present invention relates to automatically inferring an availability status of a user with whom communication is requested based on current system level events indicating a user's activity within a computer environment.
2. Description of the Related Art
The number of mediums of communication continue to increase. Wireless telephones, for example, now enable voice, text, graphic, and picture communications. Computing systems connected to a network may provide communication via electronic mail (email), instant messaging (IM), and chat sessions, for example.
As the number of mediums of communication continue to increase, so too do the number of communication requests that can interrupt a person during the day. For example, a person may be interrupted by a ringing telephone, a flashing instant messaging window, and a beep indicating a new email.
While there may be a number of mediums of communication through which a person can be reached and interrupted, that person may not always be available or may only be available to a particular degree, to communicate via a particular medium. Some mediums of communication, such as an IM controller, allow a user to choose from an availability status, such as available, off-line, or do not disturb, that is broadcast to those seeking to communicate with the user. An IM controller may also detect when a user is off-line and automatically set the user's status to off-line or detect that a user has not interacted with a computer system for a particular period of time and automatically set a user's status to away.
While automatically setting a user's availability status based on whether the user is on-line or off-line or active or away provides some indication of a user's status, merely setting status based on network accessibility or general computer activity is limited. In particular, a user's actual availability to communicate may fluctuate based on what the user is actually doing while on-line, however current IM controllers do not automatically set a user's availability beyond an on-line status or active status.
In addition, a limitation of current communication mediums is that for a user to control communication request interruptions, the user must specifically select whether request interruptions can be received. For example, a user must select to block all IM requests or receive all IM requests. In reality, a user's actual availability to be interrupted with communication requests may fluctuate according to requester and according to what a user is currently actually doing.
In view of the foregoing, it would be advantageous to provide a method, system, and program for automatically inferring an availability status and an interrupt status of a user receiving a communication request. In particular, it would be advantageous to infer an availability status and interrupt status for each particular request for communication with a user based on the identity of the requester of the information and what the user is actually doing. While pre-defined calendaring events may give some indication of what a user might be doing during a particular time, it would be advantageous to determine what a user is actually doing based on current user activity. In particular, it would be advantageous to infer what a user is actually doing based on a user's interactions within a computing environment as indicated by system level events.